package com.redoor.app.stake.workflow.service;

import com.redoor.app.stake.basicdata.model.BussinessTypeEnum;
import com.redoor.app.stake.workflow.model.BaseWorkorder;
import com.redoor.app.stake.workflow.model.BaseWorkorderOperationLog;
import com.redoornetwork.framework.mybatis.service.Service;

import java.util.List;

/**
 * Created by wangjunlei on 2018-03-07 17:06:26.
 */
public interface BaseWorkorderOperationLogService extends Service<BaseWorkorderOperationLog, String> {

    /**  
     *  批量保存到数据库
     *   
     * @author ZhangMumu  
     * @date 2018/4/17 0017 17:47  
     * @param list
     * @return int
     */
    int saveAll(List<BaseWorkorderOperationLog> list);
    /**  
     *  增加工单操作到redis  
     *   
     * @author ZhangMumu  
     * @date 2018/4/17 0017 19:21  
     * @param baseWorkorderOperationLog  
     * @return void
     */
    boolean addTraceLog(BaseWorkorderOperationLog baseWorkorderOperationLog,BaseWorkorder baseWorkorder);
    /**  
     *  获取工单操作日志列表  
     *   
     * @author ZhangMumu  
     * @date 2018/4/17 0017 21:02
     * @param workOrderUuid
     * @return
     */  
    List<BaseWorkorderOperationLog> getWorkOrderLogList(String workOrderUuid);
    /**  
     *  注册码审核工单生成添加操作日志  
     *   
     * @author ZhangMumu  
     * @date 2018/4/17 0017 20:50
     * @param   baseWorkorder
     * @return
     */  
    boolean reCreateLog(BaseWorkorder baseWorkorder);
    /**
     *  注册码审核通过添加操作记录  
     *   
     * @author ZhangMumu  
     * @date 2018/4/17 0017 20:20  
     * @param baseWorkorder
     * @return
     */  
    boolean regAcceptLog(BaseWorkorder baseWorkorder);
    /**  
     *  注册码审核拒绝添加记录  
     *   
     * @author ZhangMumu  
     * @date 2018/4/17 0017 20:21  
     * @param baseWorkorder  
     * @return   
     */  
    boolean regRejectLog(BaseWorkorder baseWorkorder);
    /**  
     *  桩维护工单生成添加记录  
     *   
     * @author ZhangMumu  
     * @date 2018/4/17 0017 20:50  
     * @param baseWorkorder  
     * @return   
     */  
    boolean maApplyCreateLog(BaseWorkorder baseWorkorder);
    /**  
     *  桩维护工单提交添加记录
     *
     * @author ZhangMumu  
     * @date 2018/4/17 0017 20:21  
     * @param baseWorkorder  
     * @return   
     */  
    boolean maApplySubmitLog(BaseWorkorder baseWorkorder);
    /**  
     *  桩维护工单激活添加记录  
     *   
     * @author ZhangMumu  
     * @date 2018/4/17 0017 20:21  
     * @param baseWorkorder  
     * @return   
     */  
    boolean maApplyActiveLog(BaseWorkorder baseWorkorder);
    /**  
     *  桩维护工单关闭添加记录  
     *   
     * @author ZhangMumu  
     * @date 2018/4/17 0017 20:28  
     * @param baseWorkorder
     * @return   
     */  
    boolean maApplyCloseLog(BaseWorkorder baseWorkorder);
    /**  
     *  桩维护审核工单生成添加记录  
     *   
     * @author ZhangMumu  
     * @date 2018/4/17 0017 20:51  
     * @param baseWorkorder
     * @return   
     */  
    boolean maChargeCreateLog(BaseWorkorder baseWorkorder);
    /**
     *  桩维护审核工单通过添加记录
     *
     * @author ZhangMumu
     * @date 2018/4/17 0017 20:21
     * @param   baseWorkorder
     * @return
     */
    boolean maChargeAcceptLog(BaseWorkorder baseWorkorder);
    /**  
     *  桩维护审核工单拒绝添加记录  
     *   
     * @author ZhangMumu  
     * @date 2018/4/17 0017 20:22  
     * @param baseWorkorder  
     * @return   
     */  
    boolean maChargeRejectLog(BaseWorkorder baseWorkorder);
    /**  
     *  桩维护审核工单激活添加记录  
     *   
     * @author ZhangMumu  
     * @date 2018/4/17 0017 20:22  
     * @param baseWorkorder
     * @return   
     */  
    boolean maChargeActiveLog(BaseWorkorder baseWorkorder);

}
